home *** CD-ROM | disk | FTP | other *** search
- {
- Someone has suggested that you use the BIOS routines, but I don't
- think his code was complete. In case you want to go the BIOS
- route, I hacked out a routine that does that:
- }
-
- function Screen(row, column : byte): char; assembler;
- { returns the char at Row, Column }
- asm
- MOV AH, 0FH
- INT 10H { Get active display page in BH, where it stays for
- remainder of this routine }
-
- MOV AH, 03H
- INT 10H { Get current cursor settings for active display page }
-
- PUSH DX { Save cursor coordinants on stack }
-
- MOV DH, row
- MOV DL, column
- DEC DH { Make allowance for the fact that BIOS treats origin }
- DEC DL { as 0,0, whereas we want it treated as 1,1 }
- MOV AH, 02H
- INT 10H { Move cursor to row-1, column-1 }
-
- MOV AH, 08H
- INT 10H { Get character at cursor in AL, where it stays until
- returned by function }
-
- POP DX { Restore old cursor coordinates to DX }
- MOV AH, 02H
- INT 10H { Move cursor back where it was }
- end;
- ---
- * Blue Lake System OR 503-656-9790 v.32bis 5 Node 12 Gig
- * PostLink(tm) v1.20 BLUELAKE (#433) : RelayNet(tm)
-